package elementi.dardi;

import elementi.ElementoMobile;
import elementi.Esplosivo;
import elementi.Interattivo;
import elementi.giocatori.Giocatore;
import gioco.GestoreElementi;
import grafica.GraficaProxy;

public abstract class Dardo extends ElementoMobile implements Esplosivo,Interattivo{
	GestoreElementi gestoreElementi = GestoreElementi.getGestoreElementi();
	
	private int velocita;
		
	public Dardo(float x, float y, float seno, float coseno, int velocita){
		this.velocita = velocita;
		reset(x,y,seno,coseno);		
	}
	
	@Override
	public void disegnaElemento() {
		GraficaProxy.getSingleton().disegnaElementoCircolare(this);		
	}
	
	public void reset(float x, float y, float seno, float coseno){
		this.setX(x);
		this.setY(y);
		setVelocitax(velocita*coseno);
		setVelocitay(velocita*seno);
	}
	
	@Override
	public abstract int getDanno();	
	
	@Override
	public void eseguiInterazione(Giocatore giocatore) {
		giocatore.togliVita(getDanno());
	}

}
